package org.xshop.model;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import top.ibase4j.core.base.BaseModel;

/**
 * <p>
 * 商品
 * </p>
 *
 * @author ShenHuaJie
 * @since 2017-03-19
 */
@TableName("t_goods")
@ApiModel(value = "商品", description = "商品")
@SuppressWarnings("serial")
public class TGoods extends BaseModel {

    /**
     * 商铺编号
     */
    @TableField("store_id")
    @ApiModelProperty("商铺编号")
    private Long storeId;
    /**
     * 商品分类
     */
    @TableField("type_id_i")
    @ApiModelProperty("商品分类")
    private Long typeIdI;
    /**
     * 商品分类
     */
    @TableField("type_id_ii")
    @ApiModelProperty("商品分类2")
    private Long typeIdIi;
    /**
     * 商品分类
     */
    @TableField("type_id_iii")
    @ApiModelProperty("商品分类3")
    private Long typeIdIii;
    /**
     * 商品货号
     */
    @TableField("goods_code")
    @ApiModelProperty("商品货号")
    private String goodsCode;
    /**
     * 二维码
     */
    @TableField("qr_code")
    @ApiModelProperty("二维码")
    private String qrCode;
    /**
     * 商品名称
     */
    @TableField("goods_name")
    @ApiModelProperty("商品名称")
    private String goodsName;
    /**
     * 售价
     */
    @TableField("sale_price")
    @ApiModelProperty("商品售价")
    private BigDecimal salePrice;
    /**
     * 市场价
     */
    @TableField("goods_price")
    @ApiModelProperty("商品市场价")
    private BigDecimal goodsPrice;
    /**
     * 库存
     */
    @TableField("stock_")
    @ApiModelProperty("商品库存")
    private BigDecimal stock;
    /**
     * 商品品牌
     */
    @TableField("brand_id")
    @ApiModelProperty("商品品牌")
    private Long brandId;
    /**
     * 商品图片
     */
    @TableField("picture_")
    @ApiModelProperty("商品图片")
    private String picture;
    /**
     * 商品重量
     */
    @TableField("weight_")
    @ApiModelProperty("商品重量")
    private BigDecimal weight;
    /**
     * 商品详细描述
     */
    @TableField("goods_images")
    @ApiModelProperty("商品详细描述")
    private String goodsImages;
    /**
     * 商品详细描述
     */
    @TableField("goods_desc")
    @ApiModelProperty("商品详细描述")
    private String goodsDesc;
    /**
     * 商品详细描述
     */
    @TableField("detail_description")
    @ApiModelProperty("商品详细描述")
    private String detailDescription;
    /**
     * 是否限购
     */
    @TableField("is_limit")
    @ApiModelProperty("是否限购")
    private Integer isLimit;
    /**
     * 是否促销
     */
    @TableField("is_promotion")
    @ApiModelProperty("是否促销")
    private Integer isPromotion;
    /**
     * 是否上架
     */
    @TableField("is_sale")
    @ApiModelProperty("是否上架")
    private Integer isSale;
    /**
     * 商品排序
     */
    @TableField("sort_no")
    @ApiModelProperty("商品排序")
    private Integer sortNo;
    /**
     * 商品简单描述
     */
    @TableField("simple_description")
    @ApiModelProperty("商品简单描述")
    private String simpleDescription;

    /**
     * 商品简单描述
     */
    @ApiModelProperty("商品图片")
    private String imgs;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private TStore store;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private List<TGoodsAttribute> attributes;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private TGoodsLimit limit;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private TGoodsPromotion promotion;
    /**
     * 数量
     */
    @TableField(exist = false)
    private BigDecimal quantity;
    /**
     * 销量
     */
    @TableField("sell_num")
    private BigDecimal sellNum;
    /**
     * 月销量
     */
    @TableField("sell_num_month")
    private BigDecimal sellNumMonth;
    /**
     * 评分
     */
    @TableField("evaluate_score")
    private BigDecimal evaluateScore;
    /**
     * 收藏 1未收藏0
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private Integer collect;
    /**
     * 规格参数html
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String attribute;

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public Long getTypeIdI() {
        return typeIdI;
    }

    public void setTypeIdI(Long typeIdI) {
        this.typeIdI = typeIdI;
    }

    public Long getTypeIdIi() {
        return typeIdIi;
    }

    public void setTypeIdIi(Long typeIdIi) {
        this.typeIdIi = typeIdIi;
    }

    public Long getTypeIdIii() {
        return typeIdIii;
    }

    public void setTypeIdIii(Long typeIdIii) {
        this.typeIdIii = typeIdIii;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getQrCode() {
        return qrCode;
    }

    public void setQrCode(String qrCode) {
        this.qrCode = qrCode;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public BigDecimal getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(BigDecimal salePrice) {
        this.salePrice = salePrice;
    }

    public BigDecimal getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getStock() {
        return stock;
    }

    public void setStock(BigDecimal stock) {
        this.stock = stock;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public String getPicture() {
        return picture;
    }

    public void setPicture(String picture) {
        this.picture = picture;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getDetailDescription() {
        return detailDescription;
    }

    public void setDetailDescription(String detailDescription) {
        this.detailDescription = detailDescription;
    }

    public Integer getIsLimit() {
        return isLimit;
    }

    public void setIsLimit(Integer isLimit) {
        this.isLimit = isLimit;
    }

    public Integer getIsPromotion() {
        return isPromotion;
    }

    public void setIsPromotion(Integer isPromotion) {
        this.isPromotion = isPromotion;
    }

    public Integer getIsSale() {
        return isSale;
    }

    public void setIsSale(Integer isSale) {
        this.isSale = isSale;
    }

    public Integer getSortNo() {
        return sortNo;
    }

    public void setSortNo(Integer sortNo) {
        this.sortNo = sortNo;
    }

    public String getSimpleDescription() {
        return simpleDescription;
    }

    public void setSimpleDescription(String simpleDescription) {
        this.simpleDescription = simpleDescription;
    }

    public List<TGoodsAttribute> getAttributes() {
        return attributes;
    }

    public void setAttributes(List<TGoodsAttribute> attributes) {
        this.attributes = attributes;
    }

    public TGoodsLimit getLimit() {
        return limit;
    }

    public void setLimit(TGoodsLimit limit) {
        this.limit = limit;
    }

    public TStore getStore() {
        return store;
    }

    public void setStore(TStore store) {
        this.store = store;
    }

    public TGoodsPromotion getPromotion() {
        return promotion;
    }

    public void setPromotion(TGoodsPromotion promotion) {
        this.promotion = promotion;
    }

    public BigDecimal getQuantity() {
        return quantity;
    }

    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    public String getImgs() {
        return imgs;
    }

    public void setImgs(String imgs) {
        this.imgs = imgs;
    }

    public BigDecimal getSellNum() {
        return sellNum;
    }

    public void setSellNum(BigDecimal sellNum) {
        this.sellNum = sellNum;
    }

    public BigDecimal getSellNumMonth() {
        return sellNumMonth;
    }

    public void setSellNumMonth(BigDecimal sellNumMonth) {
        this.sellNumMonth = sellNumMonth;
    }

    public BigDecimal getEvaluateScore() {
        return evaluateScore;
    }

    public void setEvaluateScore(BigDecimal evaluateScore) {
        this.evaluateScore = evaluateScore;
    }

    public Integer getCollect() {
        return collect;
    }

    public void setCollect(Integer collect) {
        this.collect = collect;
    }

    public String getAttribute() {
        return attribute;
    }

    public void setAttribute(String attribute) {
        this.attribute = attribute;
    }

    public String getGoodsImages() {
        return goodsImages;
    }

    public void setGoodsImages(String goodsImages) {
        this.goodsImages = goodsImages;
    }

    public String getGoodsDesc() {
        return goodsDesc;
    }

    public void setGoodsDesc(String goodsDesc) {
        this.goodsDesc = goodsDesc;
    }

}
